package com.topone.dataObject.Mapper;

import com.topone.dataObject.TcUserCoupon;
import com.topone.dto.BussinessDTO;
import com.topone.dto.TcUserCouponDTO;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;

import java.util.List;

/**
 * Created by Administrator on 2018/1/26,0026.
 */
public interface UserCouponMapper {
    List<BussinessDTO> findCouponByopenid(@Param("userCoupon") TcUserCoupon userCoupon);

    //查询所有未支付优惠券
    List<TcUserCouponDTO> findUserCoupon(Integer useStatus);

    //用户超时未支付订单回退
    void cancelUserCoupon(String id);

    //商家核销券时，查询券
    List<TcUserCouponDTO> findUserCouponList(@Param("userPhone") String userPhone, @Param("userCouponId") String userCouponId);

    //商家核销券
    @Update("update tc_user_coupon set use_status=3 where id=#{userCouponId} and use_status=2 and status='A'")
    void updateuserCoupon(@Param("userCouponId") String userCouponId);

    @Select("select count(1) from tc_user_coupon where id=#{userCouponId} and use_status=2 and status='A'")
    int countUserCoupon(@Param("userCouponId") String userCouponId);

    //查询所有用户超时未使用优惠券
    List<TcUserCouponDTO> findUserCouponOverTime(Integer useStatus);

    //处理用户超时未使用的优惠券
    void cancelUserCouponOverTime(String id);
}
